다음으로 들어가세요: 기계 수준의 프로그램 보기, 여기서 하드웨어의 복잡성은 구조화된 가상 주소 공간. 이 관점에서 메모리는 변수의 집합이 아니라, 8비트 블록이라고 부르는 거대하고 연속적인 배열입니다. 바이트. $w$비트 워드 크기를 갖는 기계에서는 이러한 주소가 $0$부터 $2^w - 1$까지 범위를 가지며, 프로그램의 접근 가능 범위를 정의합니다.
1. 16의 힘
이진수는 회로의 언어이지만, 16진수 표기법 프로그래머의 언어입니다. 왜냐하면 $16 = 2^4$이므로, 하나의 16진수 자릿수(0–F)는 정확히 4비트 네이블에 매핑되기 때문입니다. 이를 통해 1바이트 값은 정확히 두 자릿수로 간결하게 표현할 수 있습니다 (예: 0xFF). 이 약식은 기계어 및 어셈블리 코드읽기에 필수적입니다. 예를 들어 명령어 4004dc: 48 03 47 28.
2. 정밀도와 산술 연산
정수형 데이터 타입을 조작하면서 우리는 정수형 데이터 타입을 마주하게 되고, 부울 링 및 2의 보수 논리를 만나게 됩니다. 우리는 리틀 엔디안 저장 방식, 정수 오버플로우그리고 단일 정밀도 부동 소수점에서 무한대 ($+\infty$) 및 NaN 이 존재합니다. 이러한 비트 패턴을 이해하는 것은 임의 크기의 산술 연산 과 견고한 시스템 프로그래밍을 익히는 첫걸음입니다.
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>